package org.a006;


public class T implements Runnable{
	public int count = 10;
	@Override
	public  void run() {
		
		synchronized (this) {
			count--;
			System.out.println(Thread.currentThread().getName()+" count="+count);
		}
	}
	public static void main(String[] args) {
		/**
		 * 这里虽然也开启了5个线程，但是5个t对象都是新对象，所以输出总是9，
		 * 说明了 synchronized 要锁定同一个对象才会出现线程安全问题
		 * 多对象不存在线程安全问题，锁定不锁定结果一样
		 */
		
		for (int i = 0; i < 5; i++) {
			T t = new T();
			new Thread(t,"THREAD "+i).start();
		}
	}
}
